import { Index, ViewColumn, ViewEntity } from 'typeorm';

@ViewEntity({
  name: 'crm_ding_dept_node_view',
  expression: `
    SELECT id, 
    display_name,
    parent_id,
    level,
    remarks,
    active,
    tree_concat,
    source_identifier,
    sort,
    dept_manager_userid_list,
    parent_id_list,
    short_tag
    FROM crm_ding_dept
  `,
})
export class Department {
  @Index('department_id_index', { unique: true })
  @ViewColumn()
  id: string;

  @ViewColumn()
  /** 部门名称 */
  displayName: string;

  @ViewColumn()
  /** 上级部门id */
  parentId: string;

  @ViewColumn()
  /** 层级{1:公司2:中心3....以此类推} */
  level: number;

  @ViewColumn()
  /** 备注 */
  remarks: string;

  @ViewColumn()
  /** 启用状态 */
  active: number;

  @ViewColumn()
  /** 树的链接(方便前端) */
  treeConcat: string;

  @ViewColumn()
  /** 部门标识字段 */
  sourceIdentifier: string;

  @ViewColumn()
  /** 在父部门中的次序值 */
  sort: number;

  @ViewColumn()
  /** 部门的主管userid列表 逗号分割 */
  deptManagerUseridList: string;

  @ViewColumn()
  /** 所有父级部门的id拼接（包含公司） */
  parentIdList: string;

  @ViewColumn()
  /** 中心代号（A,B,C...）用于成本中心 */
  shortTag: string;
}
